The present invention relates to an arithmetic processing device, object-to-object communication method and a robot, and can be applied to such as a pet-type robot. The present invention can simply set the suitable software corresponding to the current configuration by changing the software corresponding to the configuration based on the comparison result between the information corresponding to the component detection result stored in each configuration and the component detection result relating to the current configuration. Moreover, the present invention can increase the independence of object as compared with the past by connecting objects so that data can be exchanged based on the connection data.
Heretofore, such as in a pet-type robot, object-oriented software has been formed, and various data are processed according to the communications between objects and the robot can conduct the motion similar to those of animals, for example.
However, in this pet-type robot, it is considered that this pet type robot can become more common if the components, such as legs, could be set to the user desired configuration by exchanging these components as required.
And also in this cases, it is desirous that the software can be exchanged simply corresponding to the configuration.
The present invention has been done considering the above points and firstly, is proposing a robot capable of setting appropriate software simply corresponding to the present configuration.
Furthermore, in the case of exchanging components such as legs as occasion demands and setting to the user desired form, it is considered that objects would be reconstructed and the software would be changed corresponding to the configuration change in the software to control the whole operations.
However, in the conventional object-oriented software, since the software is designed on the precondition of the clear relationship between objects, objects are highly dependent each other. Thus, even though the software would be changed to correspond to comparatively free configuration change, as a result, the development of special software compatible with each configuration becomes necessary.
As a method to obviate such dependence between objects, the development of software by using the method such as using the design pattern (observer pattern) can be considered (Erich Gamma et al., Object-Oriented Design Pattern for Reusing, pp313-324). More specifically, in the method according to this design pattern, since as well as classifying the objects into subject and observer, registering the observer onto the subject, objects are connected each other based on this registration, and various information and data are transmitted to the subject from the observer.
In this case, the subject invokes the method (or update) specified successively from the observer registered and relegates the data processing to the observer. Thus, in this design pattern method, the subject when designing, highly independent designing becomes possible without coding such as outputting data to the specific object.
However, even in this method, the observer is required to register onto the specific subject and the observer should be described in advance. Accordingly, the method according to this design pattern is practically insufficient in securing the independence of each object.
On the other hand, the method to increase the independence of objects by forming the visual tool in utilizing this method has been proposed (JIP Object Technical Research Association ed., Introduction to Visual Age C++ pp182-185). However, according to this method, the compilation becomes necessary in order to change the software construction by automatically forming the source code after specifying the connection of objects by the visual tool.
Furthermore, the method to communicate between objects by using proxy as proposed in the Japan Patent Laid-open No. 10-28398 bulletin can be considered. However, this method does not enhance the independence of objects.
Furthermore, the method to utilize the naming service of the client server system such as disclosed in the Japan Patent Laid-open No. 10-171465 bulletin can be considered. More specifically, in this client server system, the software parcelling method that is compared with the observer pattern is applied. And this method is also adopted in the CORBA (Common Object Request Broker Architecture).
However, according to this method, practically it is still insufficient in planning the independence of objects because the observer specifies subject as in the case of the observer pattern, and still the recompilation and relinkage are necessary.
The present invention has been done considering the above points and is proposing secondly, an arithmetic processing device, object-to-object communication method and a robot, which are capable of improving the independence of objects as compared with the conventional device.
To obviate such problems according to the invention relating to claim 1, applying to the robot, the component detection means for detecting the components attached to the robot and for outputting the component detection result; the information storing means for storing information corresponding to the component detection result in each configuration to be obtained upon exchanging components; and the software changing means for changing the software corresponding to the configuration based on the comparison result of the component detection result and the information stored in the information storing means are provided.
To obviate such problems according to the invention concerning claim 5, applying to the arithmetic processing device, an object manager to connect objects so that data can be exchanged and the connection data providing means for providing the connection data required for connecting objects to the object manager are provided.
Moreover, according to the invention relating to claim 11, applying to the communication method between objects, objects will be connected so that data can be exchanged based on the connection data to be provided from the predetermined data providing means.
Furthermore, according to the invention relating to claim 17, applying to the robot an object manager to connect objects so that data can be exchanged and the connection data providing means for providing the connection data required for connecting objects to the object manager are provided.
Furthermore, according to the construction relating to claim 1, software can be changed corresponding to the change of configuration accompanied by the change of components by changing the software corresponding to the configuration based on the comparison result of the component detection result to be obtained by detecting components attached and the data corresponding to the component detection result in each configuration to be obtained upon exchanging components. And thus, the suitable software corresponding to the current configuration can be set simply.
According to the construction relating to claim 5, since the object manager to connect objects in order that data can be exchanged and the connection data providing means for providing the connection data required for connecting objects to the object manager are provided, objects can be designed without considering any specific connecting object, and regarding the object thus designed, the connection data can be set and changed in various ways. Thus, the independence of object can be remarkably improved as compared with the conventional device.
Furthermore, according to the construction relating to claim 11, by connecting objects so that data can be exchanged based on the connection data to be provided by the predetermined data providing means, the object can be designed without considering any specific object to be connected. Also regarding thus designed object, connection data can be set in various ways and connection can be changed in various ways. Thereby, the independence of object can be remarkably improved as compared with the past device.
Furthermore, according to the construction relating to claim 17, by providing the object manager to connect objects so that data can be exchanged and the connection data providing means to provide the connection data required for connecting objects to the object manager, each object can be designed without considering any specific object to be connected. Moreover, regarding the object thus designed, connection data can be set and changed in various ways and the connection can be changed in various ways. Thus, the independence of object can be remarkably improved as compared with the conventional device.